import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;


/**
 * Permet de consulter la description de la faune et de la flore
 *
 */

public class Galerie extends JFrame implements ActionListener{
	
	 	private int hauteurGalerie;
	    private int largeurGalerie;
	    private BackgroundPanel fond;   

	    
	    private Dimension dimensionGalerie = new Dimension(largeurGalerie, hauteurGalerie);
	    private JPanel panelGalerie = new JPanel();
	    private JLayeredPane ensemble = new JLayeredPane();
	    private JPanel panelFlore = new JPanel();
	    private JPanel panelFaune = new JPanel();
	    private JPanel panelRetour = new JPanel();
	    
	    private JButton boutonFlore = new JButton(new ImageIcon("img/Flore.png"));
		private JButton boutonFaune = new JButton(new ImageIcon("img/Faune.png"));
		private JButton boutonRetour = new JButton(new ImageIcon("img/boutonRetour.png"));
	    
		private ArrayList<String> tableau = new ArrayList<String>();
		
		 public void paintComponent(Graphics g,int i){
			 try {
			 Image img = ImageIO.read(new File(tableau.get(i)));
			 g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
			 } catch (IOException e) {
			 e.printStackTrace();
			 }
			 }

		 
		 
		 
		 
		public Galerie(){


	    	this.largeurGalerie=1024;
	    	this.hauteurGalerie=768;

	    	this.initGalerie();
	    	
	    }

		
		
		public void initGalerie(){
			
			fond = new BackgroundPanel("img/EcranGalerie.png");
			fond.setBounds(0, 0, largeurGalerie, hauteurGalerie);
	    	ensemble.setPreferredSize(dimensionGalerie);

			ensemble.add(fond, new Integer(2));
			this.setUndecorated(true);
	    	this.setSize(this.largeurGalerie,this.hauteurGalerie);
	    	this.setLocationRelativeTo(null);
	    	this.setVisible(true);
	    	this.toFront();
	    	this.setTitle("Le Refuge Des Escagots-Galerie");
	    	
	    	
	    	boutonFlore.setBorderPainted(false);
	    	boutonFlore.setOpaque(false);
	    	boutonFlore.setContentAreaFilled(false);
	    	boutonFlore.addActionListener(this);
	    	boutonFlore.setToolTipText("Flore");//affichage de texte pour le bouton
			panelFlore.setBounds(675, 270, 500, 500);
			panelFlore.setOpaque(false);
			panelFlore.add(boutonFlore);
			ensemble.add(panelFlore, new Integer(3));
			
			boutonFaune.setBorderPainted(false);
			boutonFaune.setOpaque(false);
			boutonFaune.setContentAreaFilled(false);
			boutonFaune.addActionListener(this);
			boutonFaune.setToolTipText("Faune");//affichage de texte pour le bouton
			panelFaune.setBounds(250, 160,500, 500);
			panelFaune.setOpaque(false);
			panelFaune.add(boutonFaune);
			ensemble.add(panelFaune, new Integer(3));
			
			boutonRetour.setBorderPainted(false);
	    	boutonRetour.setOpaque(false);
	    	boutonRetour.setContentAreaFilled(false);
	    	boutonRetour.addActionListener(this);
	    	boutonRetour.setToolTipText("Retour");//affichage de texte pour le bouton
			panelRetour.setBounds(520, 540, 500, 500);
			panelRetour.setOpaque(false);
			panelRetour.add(boutonRetour);
			ensemble.add(panelRetour, new Integer(3));
			
			this.getContentPane().add(ensemble);
			this.setVisible(true);
			
	    	
		}
		
    /**
     * Ouverture de la fenetre de la Faune
     */
    public void ouvrirFaune(){
    	Faune faune=new Faune();
    }
    
    /**
     * Ouverture de la fenetre de la Flore
     */
    public void ouvrirFlore(){
    	Flore flore=new Flore();
    }
    
    /**
     * Permet l'affichage du menu principal 
     * et masque notre galerie
     */
    public void ouvrirMenuPrincipale(){
    	Menu menu = new Menu("Le Refuge des Escargots",1024,768,false) ;
    	this.setVisible(false);
    }
    
    /**
     * Gestion de l'interaction avec les boutons
     */
	@Override
	public void actionPerformed(ActionEvent arg) {
		if (arg.getSource()==boutonFaune){
	        this.ouvrirFaune();
	  	}
		if (arg.getSource()==boutonFlore){
	        this.ouvrirFlore();
	  	}
		if (arg.getSource()==boutonRetour){
	        this.ouvrirMenuPrincipale();
	  	}
	}

}
